草庐IT

c++ - qml + 主从

全部标签

c++ - 如何将枚举类传递给 QML?

我正在学习使用Qt来学习QML,但在将enumclass传递给qml时遇到了一些麻烦。当我将信号与int参数一起使用时-一切正常,代码运行完美。但是,问题来了,如果我将信号与一些enumclass参数一起使用,我在qml信号处理程序中有未定义值。我尝试通过qmlRegisterType注册enumclass但它不起作用。我将不胜感激。这里是代码:一些HelperclassclassHelper:publicQObject{Q_OBJECTQ_ENUMS(Requester)Q_ENUMS(JANSWER)public:enumclassRequester{ReqLogin,ReqNul

c++ - 从 QAbstractListModel 中删除项目后 QML 崩溃

我在装有OS-X10.8.5的Mac上运行Qt5.1.1和QtCreator2.8.1。我有一个管理ImageData对象的QAbstractListModel。在main.cpp中注册ImageProvider后,我可以使用GridView加载图像并在QML中显示它们。接下来我在View中选择单个图像,例如,下面显示了几个带有橙色边框的选定图像:然后是C++模型函数:deleteSelected(),产生预期的结果:但是,当我试图通过捕获其中一个角来调整窗口大小时,我遇到了崩溃。堆栈跟踪显示:异常类型:EXC_CRASH(SIGABRT)并且我收到Qt错误:ASSERTfailure

c++ - QML 与 C++ 通信

我在QML与C++通信时遇到问题。我已经按照预期使示例代码正常运行的所有步骤进行了操作。在处理这个小示例几个小时后,它归结为一条错误消息,我根本无法摆脱它:./input/main.cpp:18:error:nomatchingfunctionforcallto'QObject::connect(QObject*&,constchar*,Input*,constchar*)'&input,SLOT(cppSlot(QString)));^我在relatedproblem上阅读了一些以前的帖子,仔细检查所有内容,显然一切看起来都是正确的。以下是详细信息:./Sources/main.cp

c++ - 单击按钮后动画 QML 矩形的颜色

我试图让我的开发板在单击按钮时闪烁绿色。我添加了以下颜色动画代码来帮助创建闪烁效果,以便板可以从其原始颜色变为绿色,然后再恢复为原始颜色。我在一些代码示例中看到,ColorAnimation也可以像这样使用ColorAnimationoncolor{...}。我尝试使用它来引用rectangle颜色属性,但它提示color是无效属性,这就是为什么我在下面的代码中没有它。SequentialAnimation{running:trueloops:Animation.InfiniteColorAnimation{to:"green"duration:500}ColorAnimation{t

Performance_schema中的主从复制系列表总结

主从半同步复制是目前用得最多的MySQL复制方案,日常工作中我们一般通过showslave status语句查看当前复制过程中状态信息,基本上能满足大多数场景下的需求。Performance_schema中提供了16个关于复制的监控表(包括组复制、过滤复制等,这里我们先不讨论),showslavestatus中的大多数信息都来自Performance_schema中的复制系列表,这些表有利于更好的收集主从复制中的状态,报错,配置等信息,并且比showslavestatus提供了更全面的主从复制的诊断信息。这些表主要可以分为两类,分别为IO进程和SQL进程的信息:  replication_co

javascript - QML 鼠标在 MouseArea 中的绝对位置

如何从鼠标区域获取鼠标的绝对位置?我需要让它显示正确位置的弹出窗口Item{Menu{id:menuMenuItem{onTriggered:{//NeedMouseabsoluteposition}}}MouseArea{id:mouseAreaanchors.fill:parentonClicked:{menu.popup()}} 最佳答案 简答映射到/从另一个项目:mapToItem,mapFromItem映射到/来自全局(来自Qt5.7):mapToGlobal,mapFromGlobalonClicked:{varposi

c++ - QML:在 QML 中使用 cpp 信号总是导致 "Cannot assign to non-existent property"

我只是想将一个cpp信号连接到一个qml槽并尝试了不同的方法,但它总是在运行时导致相同的QML错误:无法分配给不存在的属性“onProcessed”!为什么?这是我的Cpp对象:#includeclassImageProcessor:publicQObject{Q_OBJECTpublic:explicitImageProcessor(QObject*parent=0);signals:voidProcessed(constQStringstr);publicslots:voidprocessImage(constQString&image);};ImageProcessor::Ima

c++ - 如何将 C++ 代码中定义的单例对象的信号连接到 QML 组件?

我的主要目标是在*.qml文件中定义QML组件时接收来自单例对象的信号。假设我在C++代码中定义了一个单例对象,如下所示:classMySingleton:publicQObject{Q_OBJECTQ_PROPERTY(QStringvalueREADvalueWRITEsetValueNOTIFYvalueChanged)typedefQObjectBase;public:staticMySingleton*instance();constQString&value()const;voidsetValue(constQString&value);signals:voidvalueC

c++ - Q_ENUMS 在 QML 中是 "undefined"吗?

枚举不适合我。我已经用Q_ENUMS()注册了它们我没有忘记Q_OBJECT宏使用qmlRegisterType()注册类型模块是用QML导入的简而言之,一切都是“照章办事”,但出于某种原因,我继续为QML中的每个枚举获取undefined。我错过了什么吗?classUI:publicQQuickItem{Q_OBJECTQ_ENUMS(ObjectType)public:enumObjectType{_Root=0,_Block};...};...qmlRegisterType("Nodes",1,0,"UI");...importNodes1.0...console.log(UI.

c++ - 将新项目添加到基于 QAbstractListModel 的模型时,QML View 不会更新

我已经弄清楚如何将派生自QAbstractListModel的模型绑定(bind)到QMLView。但是接下来我累了就不行了。如果将新项目添加到模型,QMLView将不会更新。这是为什么?DataObject.hclassDataObject{public:DataObject(constQString&firstName,constQString&lastName):first(firstName),last(lastName){}QStringfirst;QStringlast;};SimpleListModel.hclassSimpleListModel:publicQAbstr